// house_pkg/pages/locate/index.ts
import qqMap from '../../../utils/qqMap'
Page({
  onLoad() {
    this.getUserLocation()
  },
  async getUserLocation() {
    //wx原生api获取用户定位
    const { longitude, latitude } = await wx.getLocation()
    // console.log('自动获取', longitude, latitude)
    // 根据经纬度逆解析具体地名
    this.getPoint(longitude, latitude)
  },
  async chooseLocation() {
    const { longitude, latitude } = await wx.chooseLocation()
    this.getPoint(longitude, latitude)
    // console.log('手动获取', longitude, latitude)
  },

  // 逆解析
  getPoint(longitude, latitude) {
    qqMap.reverseGeocoder({
      // 拼接经纬度
      location: [latitude, longitude].join(','),
      // 使用回调拿到地址
      success: (res) => {
        //要使用this，所以用了箭头函数
        // console.log(res.result.address)
        this.setData({
          address: res.result.address,
        })
      },
      fail() {
        wx.utils.toast('获取位置失败')
      },
    })

    // 指定搜索周边的小区
    qqMap.search({
      keyword: '小区', //搜索关键字
      location: [latitude, longitude].join(','),
      page_size: 8, // 获取几条数据
      // 回调中获取搜索结果
      success: (res) => {
        // console.log(res.data)
        const points = res.data.map((item) => {
          return {
            id: item.id,
            title: item.title,
          }
        })
        this.setData({
          points,
        })
      },
      fail() {
        wx.utils.toast('搜索失败')
      },
    })
  },

  // 跳转选择楼栋，要传参
  goBuilding(ev) {
    console.log(ev.mark.point)
    wx.navigateTo({
      url: '/house_pkg/pages/building/index?point=' + ev.mark.point,
    })
  },
})
